<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<title>vp-lifecycle</title>
		<link type="text/css" rel="stylesheet" href="PLUGINS_ROOT/org.polarsys.kitalpha.doc/html/common/style/style.css"/>
	</head>
	<body>
		<h1 id="Viewpoint_Life_cycle">Viewpoint Life cycle</h1>
		<p>Each viewpoint installed in a project respects a lifecycle according to the following state machine.</p>
		<h2 id="State_Machine">State Machine</h2>
		<p>
			<img width="500" border="0" src="../img/KitalphaViewpointLifecycle.png"/>
		</p>
		<p>
			<b>Viewpoint lifecycle - States</b> 
		</p>
		<table class="wikitable">
			<tr>
				<td>
					<b>State</b>
				</td>
				<td>
					<b>Description</b>
				</td>
			</tr>
			<tr>
				<td>
					<i>Uninstalled</i>
				</td>
				<td>The viewpoint is not physically installed on the platform.</td>
			</tr>
			<tr>
				<td>
					<i>Installed</i>
				</td>
				<td>The viewpoint is correctly installed on the platform and visible from the Viewpoint Manager View.</td>
			</tr>
			<tr>
				<td>
					<i>Unreferenced</i> 
				</td>
				<td>The viewpoint is not referenced in the model. No data (e.g. model elements, diagram elements) from the viewpoint is present in the model. No service from the viewpoint is active on the model.</td>
			</tr>
			<tr>
				<td>
					<i>Referenced</i> 
				</td>
				<td>The viewpoint is referenced in the model. Data corresponding to the viewpoint can be present in the model. </td>
			</tr>
			<tr>
				<td>
					<i>Inactive</i> 
				</td>
				<td>The viewpoint is inactive on the model. Data corresponding to the viewpoint can be present in the model, but will not be displayed to the end user. Services from the viewpoint are not active.</td>
			</tr>
			<tr>
				<td>
					<i>Active</i> 
				</td>
				<td>The viewpoint is active on the model. Data is present and displayed to the end user. Services from the viewpoint is active.</td>
			</tr>
		</table>
		<p>
			<b>Viewpoint lifecycle - Transitions</b> 
		</p>
		<table class="wikitable">
			<tr>
				<td>
					<b>Action</b>
				</td>
				<td>
					<b>Description</b>
				</td>
			</tr>
			<tr>
				<td>
					<i>install</i>
				</td>
				<td>Installation of the viewpoint in the platform.</td>
			</tr>
			<tr>
				<td>
					<i>uninstall</i>
				</td>
				<td>Uninstallation of the viewpoint from the platform. If a viewpoint is referenced by a model, then the model will be unusable as is (A detachment is needed).</td>
			</tr>
			<tr>
				<td>
					<i>reference</i>
				</td>
				<td>The project uses the referenced viewpoint. The viewpoint metadata are updated. The viewpoint tools are available.</td>
			</tr>
			<tr>
				<td>
					<i>unreference</i>
				</td>
				<td>This action launches a detachment to cleanly remove the viewpoint(s) in the project. The viewpoint metadata are updated.</td>
			</tr>
			<tr>
				<td>
					<i>activate</i>
				</td>
				<td>The viewpoint is activated and all data are displayed (e.g., model element in the model browser, in the diagrams).</td>
			</tr>
			<tr>
				<td>
					<i>deactivate</i>
				</td>
				<td>The viewpoint data are still in use but are hidden.</td>
			</tr>
		</table>
		<h2 id="Representation_of_the_transitions">Representation of the transitions</h2>
		<p>Each transition is implemented by an action represented as follows.</p>
		<table class="wikitable">
			<tr>
				<td>
					<b>Action</b>
				</td>
				<td>
					<b>Icon</b>
				</td>
			</tr>
			<tr>
				<td>
					<i>reference</i>
				</td>
				<td>
					<img border="0" src="../img/Kitalpha-ViewpointLifecycle-reference.gif"/>
				</td>
			</tr>
			<tr>
				<td>
					<i>unreference</i>
				</td>
				<td>
					<img border="0" src="../img/Kitalpha-ViewpointLifecycle-unreference.gif"/>
				</td>
			</tr>
			<tr>
				<td>
					<i>activate</i>
				</td>
				<td>
					<img border="0" src="../img/Kitalpha-ViewpointLifecycle-activate.gif"/>
				</td>
			</tr>
			<tr>
				<td>
					<i>deactivate</i>
				</td>
				<td>
					<img border="0" src="../img/Kitalpha-ViewpointLifecycle-deactivate.gif"/>
				</td>
			</tr>
		</table>
		<h2 id="Available_services_by_states">Available services by states</h2>
		<table class="wikitable">
			<tr>
				<td rowspan="3"></td>
				<td>
					<b>Uninstalled</b>
				</td>
				<td colspan="3">
					<b>Installed</b>
				</td>
			</tr>
			<tr>
				<td></td>
				<td rowspan="2">
					<b>Unreferenced</b>
				</td>
				<td colspan="2">
					<b>Referenced</b>
				</td>
			</tr>
			<tr>
				<td></td>
				<td>
					<b>Inactive</b>
				</td>
				<td>
					<b>Active</b>
				</td>
			</tr>
			<tr>
				<td style="text-align:left;">Viewpoint in the platform</td>
				<td>No</td>
				<td>Yes</td>
				<td>Yes</td>
				<td>Yes</td>
			</tr>
			<tr>
				<td style="text-align:left;">Data in the model</td>
				<td>No</td>
				<td>No</td>
				<td>Yes</td>
				<td>Yes</td>
			</tr>
			<tr>
				<td style="text-align:left;">Data manipulation/visualization</td>
				<td>No</td>
				<td>No</td>
				<td>No</td>
				<td>Yes</td>
			</tr>
			<tr>
				<td style="text-align:left;">Sirius Layers active</td>
				<td>No</td>
				<td>No</td>
				<td>No</td>
				<td>Yes</td>
			</tr>
			<tr>
				<td style="text-align:left;">Sirius Representation visible</td>
				<td>No</td>
				<td>No</td>
				<td>No</td>
				<td>Yes</td>
			</tr>
			<tr>
				<td style="text-align:left;">Viewpont services</td>
				<td>No</td>
				<td>No</td>
				<td>No</td>
				<td>Yes</td>
			</tr>
		</table>
	</body>
</html>